# 1.集合是由不重复元素组成的无序容器
# #不重复元素组成，可以理解成会自动去重
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
# 输出的时候apple 和 orange 只有一个
print(f"basket: {basket}")

# 无序，也就是你定义元素的顺序和取出的顺序不能保证一致.
# 集合底层会按照自己的一套算法来存储和取数据,所以每次取出顺序是不变的
set_a = {100, 200, 300, 400, 500}
# 当第一次取出来的时候，就确定了后续，后续都会按照这个顺序
print(f"set a: {set_a}")
print(f"set a: {set_a}")
print(f"set a: {set_a}")

# 2.集合不支持索引
set_a = {100, 200, 300, 400, 500}
# 这样会报错
# print(f"set a: {set_a[0]}")

# 3.集合只能使用for循环遍历
print("---------------------------------")
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
# 输出的顺序是不确定的
for i in basket:
    print(i)

# 4.创建空集合只能使用set()，不能使用{} {} 是创建一个字典
empty_set = set()  # 创建一个空集合
empty_set1 = {}  # 创建一个字典
print(f"empty set: {empty_set} 类型是{type(empty_set)}")
print(f"empty set1: {empty_set1} 类型是{type(empty_set1)}")
